package com.mzl.lal4cloud.lxw4rf.service.contract.service;

import com.mzl.lal4cloud.lxw4rf.service.contract.http.RequestExecutor;

/**
 * 默认service
 *
 * @author J_luo
 */
public interface BaseService {

    /**
     * get request
     *
     * @param uri
     * @param queryParams
     * @return
     */
    String get(String uri, String queryParams);


    /**
     * post request
     *
     * @param uri
     * @param postData
     * @return
     */
    String post(String uri, String postData);

    /**
     * 执行请求
     *
     * @param <T>      the type parameter
     * @param <E>      the type parameter
     * @param executor 执行器
     * @param url      接口地址
     * @param data     参数数据
     * @return 结果 t
     */
    <T, E> T execute(RequestExecutor<T, E> executor, String url, E data);

}
